logical_and()、logical_invert()、logical_or() 和 logical_xor() 方法均期望其參數為邏輯操作數。邏輯操作數即指數位和符號位均為零,且其數字位均為 0 或 1 的 Decimal 實例。
上下文在 decimal 模塊中用來管理算術運算的環境,這些運算涉及精度、舍入規則、異常處理和指數範圍。每個線程都有自己獨立的上下文,可以通過 getcontext() 和 setcontext() 函數來讀取或修改,或者使用 localcontext() 函數在 with 語句中暫時改變上下文。
decimal.getcontext()
decimal.setcontext(c)
c。decimal.localcontext(ctx=None, **kwargs)
with 語句中使用指定的 ctx(或者當前上下文的副本)來暫時改變上下文。kwargs 參數可以用來設定新上下文的屬性。from decimal import localcontext
with localcontext(prec=42) as ctx:
s = calculate_something()
s = +s
Context 類Context 類用來建立新的上下文並提供多種方法來操作它們。預設有三種上下文:
decimal.BasicContext
ROUND_HALF_UP,啟用多數陷阱,適合偵錯用途。decimal.ExtendedContext
ROUND_HALF_EVEN,禁用所有陷阱,適合需要結果為 NaN 或 Infinity 的應用。decimal.DefaultContext
ROUND_HALF_EVEN,啟用 Overflow, InvalidOperation, 和 DivisionByZero 陷阱,適合多線程環境。